Video compression is used to make video data files such as full-length movies relatively manageable for storage (e.g., in optical storage media), processing, and transmission. In general, video compression is achieved by eliminating redundant and irrelevant information. Video information typically does not vary significantly over time and space because video images typically consist of smooth regions of color across the screen. Hence, a significant part of the video information in an image is predictable and therefore redundant. Accordingly, video compression is used to remove the redundant information and leave only the unpredictable information.
Irrelevant video image information is information that cannot be seen by the human eye under certain reasonable viewing conditions. For example, the human eye does not readily perceive noise at high spatial frequencies (compared to noise at low spatial frequencies) or loss of details immediately before and after a scene change. Accordingly, video compression is also used to remove irrelevant information. The combination of redundant information removal and irrelevant information removal facilitates relatively high compression ratios for video data files.
Moving Picture Experts Group (MPEG) is a family of standards for audio-visual information in a digital compressed format. MPEG is a recognized standard of the International Standards Organization (ISO). MPEG compression is one type of video compression that incorporates various conventional techniques to remove redundant and irrelevant information from video data files. Some of these conventional techniques include motion-compensated prediction, discrete cosine transform (DCT), quantization, and variable-length coding (VLC). DCT is an algorithm that converts pixel data into sets of spatial frequencies with associated coefficients. Due to the non-uniform distribution of the DCT coefficients (because most of the non-zero DCT coefficients of an image tend to be located in a general area), VLC is typically used to exploit this distribution characteristic to distinguish between non-zero DCT coefficients and zero DCT coefficients. In so doing, redundant/predictable information can be removed. Additionally, having decomposed the video image into spatial frequencies under DCT means that higher frequencies via their associated DCT coefficients can be coded with less precision than the lower frequencies via their associated DCT coefficients. This allows irrelevant information to be removed. Hence, quantization may be generalized as an operation to weight the DCT coefficients based on the amount of noise that the human eye can tolerate at each spatial frequency so that a reduced set of coefficients can be generated.
However, when a highly compressed video data file is decompressed, image degradations involving noise artifacts may occur in the decompressed video images. Generally, there are two types of degradation noise artifacts: blocking artifacts and ringing artifacts. Blocking artifacts are typically manifested as discontinuities between adjacent video pixel data blocks. Blocking artifacts are created when DCT coefficients of video pixel blocks are quantized and processed independently without consideration for the pixel correlation between adjacent blocks. Ringing artifacts are typically manifested as local flickering near an edge. Ringing artifacts are created when high frequency DCT coefficients are truncated as a result of coarse quantizations.
Conventional de-ringing filter technology is referenced in the MPEG standards. However, the conventional de-ringing filter technology implements a two-dimensional (2D), non-linear filter, which is relatively complicated. Additionally, the conventional 2D, non-linear filter takes three scans to implement.